package RPS;

import java.util.Scanner;

public class RPS {

    public static void main(String[] args) {
        System.out.println("欢迎进入猜拳小游戏");
        Scanner zi = new Scanner(System.in);//从键盘读取输入
        System.out.println("请输入挑战者的名字：");
        String myName = zi.next();
        System.out.println("请选择你的难度：1:菜鸟  2:普通  3:算无遗策");//选择难度
        int enemy =zi.nextInt();//从键盘读取敌人
        String enemyName = "";
        int myWin = 0,enemyWin = 0;//定义胜场
        switch (enemy){//switch分支选择难度

            case 1://必胜模式
                System.out.println("没想到"+myName+"居然会选择菜鸟，哼~~");
                System.out.println(myName+"，你真的要与菜鸟对战吗？(y/n)");
                String YroN = zi.next();
                if (YroN.equalsIgnoreCase("y")) {//选择是否开始游戏
                    int choice = zi.nextInt();
                    for (int i = 1; i <= 5; i++) {
                        System.out.println("第" + i + "局开始");
                        System.out.println(myName + ",请你出拳：1:石头 2:剪刀 3:布");

                        if (choice == 1) {
                            System.out.println(myName + "的出拳结果是:石头  " + "敌人的出拳是:剪刀");
                            System.out.println("本局，你赢了");

                        } else if (choice == 2) {//平局了
                            System.out.println(myName + "的出拳结果是:剪刀  " + "敌人的出拳是:布");
                            System.out.println("本局，你赢了");
                        } else {
                            System.out.println(myName + "的出拳结果是:布  " + "敌人的出拳是:石头");
                            System.out.println("本局，你赢了");
                        }
                    }
                }else{
                        System.out.println("游戏结束，退出");//选否直接退出游戏
                }
            break;


            case 2://正常对战模式
                System.out.println("挑战者"+myName+"对阵 普通人机！");
                System.out.println(myName+"，准备好就告诉我好戏开始了(y/n)");
                String yRoN = zi.next();
                if (yRoN.equalsIgnoreCase("y")){//选择是否开始游戏
                    for(int i = 1; i <= 5 ;i++){
                        System.out.println("第"+ i +"局开始");
                        System.out.println(myName+",请你出拳：1:石头 2:剪刀 3:布");
                        int choice = zi.nextInt();
                        int enemychoice = (int)(Math.random()*3)+1;
                        System.out.println(myName+"的出拳结果是"+chang(choice)+"   敌人的出拳是"+chang(enemychoice));//调用定义函数转化1，2，3成石头剪刀布
                            if ((choice == 1 && enemychoice == 2)||(choice == 2 && enemychoice == 3)||(choice == 3 && enemychoice == 1)){//我赢了
                                System.out.println("第"+ i +"局，你赢了");
                                myWin++;
                            }else if(choice == enemychoice){//平局了
                                System.out.println("第"+ i +"局，你们打平了");
                            }else{//他赢了
                                System.out.println("第"+ i +"局，真可惜");
                                enemyWin++;
                            }
                    }
                    if(myWin > enemyWin){//对比胜场，确认最后胜者
                        System.out.println("你是最后的胜者！！！");
                    }else if (myWin == enemyWin){
                        System.out.println("看来"+myName+"略逊一筹");
                    }
                }else{
                    System.out.println("游戏结束，退出");//选否直接退出游戏
                }
            break;


            case 3://必败模式
                System.out.println("又有不知死活的家伙来挑战算无遗策了！！！");
                System.out.println(myName+"，你还有一次选择的机会？(y/n)");
                String Yron = zi.next();
                if (Yron.equalsIgnoreCase("y")) {
                    int cho = zi.nextInt();

                    for (int i = 1; i <= 5; i++) {
                        System.out.println("第" + i + "局开始");
                        System.out.println(myName + ",请你出拳：1:石头 2:剪刀 3:布");

                        if (cho == 1) {
                            System.out.println(myName + "的出拳结果是:石头  " + "敌人的出拳是:布");
                            System.out.println("本局，你输了");

                        } else if (cho == 2) {
                            System.out.println(myName + "的出拳结果是:剪刀  " + "敌人的出拳是:石头");
                            System.out.println("本局，你输了");
                        } else {
                            System.out.println(myName + "的出拳结果是:布  " + "敌人的出拳是:剪刀" );
                            System.out.println("本局，你输了");
                        }
                    }System.out.println("又一个败给算无遗策的可怜虫");
                    }else{
                        System.out.println("游戏结束，退出");//选否直接退出游戏
                    }
            break;
        }


    }
    public static String chang(int choice){//转换1，2，3为石头剪刀布
        String ch ="";

        switch (choice){
            case 1:
                ch = "石头";
            break;

            case 2:
                ch = "剪刀";
            break;

            case 3:
                ch = "布";
            break;
        }
        return ch;
    }
}
